The present invention relates to communications in data networks. More specifically, it relates to a method for optimizing data transfer in data networks.
Transmission Control Protocol (xe2x80x9cTCPxe2x80x9d) has been developed and modified for congestion-conscious behavior over a public Internet. Upon connection startup, TCP tentatively probes the network to determine how much marginal bandwidth is available between the source and destination. When encountering congestion, TCP backs off dramatically. TCP""s timeout-and-retransmission scheme is based on a running estimate of round-trip delay and delay variation. These mechanisms have proven to scale very well with the growth of the Internet and to perform in a reasonable fashion over an end-to-end channel that exhibits variable available bandwidths, delays and delay variances.
Quality of Service (xe2x80x9cQoSxe2x80x9d), however, is becoming a more important issue for data networks. Networks may soon be expected to support a variety of channels including channels that guarantee dedicated end-to-end bandwidth, low delays, and extremely low (nearly negligible) delay variance. Such constant bitrate (xe2x80x9cCBRxe2x80x9d) channels are preferred for the streaming transfer of data such as within a virtual private network. QoS is the method by which Internet Service Providers (xe2x80x9cISPsxe2x80x9d) may guarantee bandwidth for the CBR channels. In addition, QoS may provide a user acceptable charging framework wherein a user is charged by the ISP according to which type of channel he uses.
Unfortunately, TCP was not designed with this sort of underlying network behavior in mind and it is not surprising to find that existing TCP will not perform well in CBR environments. In particular, TCP""s window probing and round-trip delay estimation processes cause TCP to artificially limit throughput on CBR channels.
It is therefore desirable to improve the performance of a Transmission Control Protocol process for transferring data over a data network at a constant bitrate. Accommodating the transmission requirements for constant bitrate channels may improve the overall performance of the data network.
In accordance with preferred embodiments of the present invention, some of the problems associated with optimizing data transfer in a data network are overcome. Methods for optimizing data transfer are provided. One aspect of the invention includes a method for optimizing data transfer from a first network device to a second network device. The method includes determining whether data is to be transferred between a higher layer of a protocol stack for the first network device to a higher layer of a protocol stack for the second network device at a constant bitrate. If so, a roundtrip delay time for data transfer between the first network device and the second network device is ascertained in a lower layer of the protocol stack for the first network device. In one preferred embodiment of the present invention, the roundtrip delay time is a measure of congestion in the data network. A maximum congestion window is computed, in response to the constant bitrate multiplied by the roundtrip delay time. A congestion window value is obtained from a congestion control process in the lower layer of the protocol stack for the first network device. The congestion control process regulates the amount of data that is passed from the higher layer of the protocol stack to the lower layer of the protocol stack. An amount of data is transferred from the higher layer of the protocol stack for the first network device to the lower layer of the protocol stack for the first network device equal to a minimum of the congestion window value and the maximum congestion window.
Another aspect of the invention includes a method for optimizing data transfer from a first network device to a second network device. This method includes determining whether data is to be transferred between a higher layer of a protocol stack for the first network device to a higher layer of a protocol stack for the second network device at a constant bitrate. If so, a roundtrip delay time for data transfer between the first network device and the second network device is ascertained in a lower layer of the protocol stack for the first network device. In one preferred embodiment of the present invention, the roundtrip delay time is a measure of congestion in the data network. A retransmission time value proportional to the roundtrip delay time is computed. The retransmission time value is different than for data transfer at a nonconstant bitrate. A data packet is transmitted from the first network device to the second network device. The data packet is associated with the data that is transferred at the constant bitrate. A determination is made as to whether an acknowledgement packet for the data packet is received by the first network device from the second network device within the retransmission time value, and if not, the data packet is retransmitted from the first network device to the second network device.